import numpy as np


# list-> np.array
a = [1,2,3,4]
print(np.array(a))
print(type(np.array(a)))

# tuple->np.array
b = tuple(a)
print(np.array(b))

# range() = np.arange()
print(np.arange(10))

# 等差数列(0-10线性均分,分4份)
print(np.linspace(0, 10, 4))
# 不包括终点
print(np.linspace(0, 10, 4,endpoint=False))

# 等效10**np.linspace(0, 10, 4)
print(np.logspace(0,10,4))

# 2**np.linspace(0,2,3)  [2^0,  2^1, 2^2,]
print(np.logspace(0,2,3,base=2))

# 全0的一维数组 共3个
print(np.zeros(3))

# 全零的二维数组 2*3
print(np.zeros((2,3)))

# 全1一维数组
print(np.ones(10))

# 全1二维数组 3*4
print(np.ones((3,4)))

# 单位矩阵[1,1][2,2][3,3] ... [x,x]位置为1的矩阵
print(np.identity(3))

# 空数组,申请空间不初始化
print(np.empty((2, 3)))

# hanning窗口
print(np.hanning(20))

# kaiser(10)窗口
print(np.kaiser(12,5))

# 一维数组 0-10随机50个数字
print(np.random.randint(0,10,50))

# 多维随机数组
print(np.random.randint(0,10,(5,10)))

# [0,1)随机数*10
print(np.random.rand(10))

# 从标准正太分布中随机采样5个
print(np.random.standard_normal(5))
# 3*[5,4]
print(np.random.standard_normal((3,5,4)))

# 对角矩阵
print(np.diag(np.arange(1,6)))

